K-means是一種用來分群的演算法,K就是代表你想要分的群數,而means指的就是平均值,最終出來的結果會希望這個平均值可以達到最低。
舉例來說,假設一個班級中有男生、有女生,今天希望以所有人的身高、體重為參考依據,找到兩個中心點來分類,那麼可能就會因為男生比較重、比較高,而導致最終在男生群體中有一個代表、女生群體中有一個代表,從這兩個中心延伸出去分別代表兩個群體。
那接下來我們就一步一步來看K-means是如何運作的。
Step1:首先我們要先決定好K-means的K是多少,也就是我們希望我們最終的結果是分成幾群。
Step2:決定好之後,我們在所有資料當中隨機找K個點當作中心點。接下來會用到歐幾里得距離(Euclidean distance)的概念。歐幾里得距離的公式如下:
Step3:將每個點分類到最近中心點的分類。
Step4:講每個群體的座標取平均獲得新的中心點。
Step5:回到Step3,循環到收斂。
完成上面的步驟過後,我們就可以獲得K個中心點並且將所有的資料分類好囉!